import java.util.HashMap;
import java.util.Map;


import com.alibaba.dubbo.common.json.JSONObject;
import com.alibaba.fastjson.parser.ParserConfig;
import com.alibaba.fastjson.util.TypeUtils;

import dao.TestReflect;
import javassist.expr.NewArray;

public class reflect {
	
	public static ParserConfig parserConfig=new ParserConfig();

	public static void main(String[] args) {
		
		
		
		Map<String, Object> map =new HashMap<String, Object>();
		map.put("name", "lyx");
		map.put("age", "10");
		for(int i =1;i<=10;i++) {
			TestReflect testReflect =toJavaBean(map, TestReflect.class);
			System.out.println("反射："+i+"次");
		}
		
//		System.out.println(testReflect.toString());

	}

	   public  static <T> T toJavaBean(Map<String, Object> map, Class<T> clazz){
	        
	        return (T)TypeUtils.castToJavaBean(map, clazz, parserConfig); 
	        
	        
//	        ObjectMapper mapper = new ObjectMapper();
//	        T t =null;
//	        try {
//	            t =clazz.newInstance();
//	            t= JSONObject.parseObject(mapper.writeValueAsString(map), clazz);
//	        }catch (JsonProcessingException e) {
//	            LOGGER.error(e.getMessage(),e);
//	        }catch (InstantiationException e) {
//	            LOGGER.error(e.getMessage(),e);
//	        } catch (IllegalAccessException e) {
//	            LOGGER.error(e.getMessage(),e);
//	        }
//	        
//	        return  t;
	    }


}
